import socket       # 导入socket模块

# 创建socket对象 1. 创建Socket对象。调用socket类的构造函数时，type参数需要指定为SOCK_DGRAM，proto参数可以设定为IPPROTO_UDP(可选)
sv = socket.socket(
    socket.AF_INET,
    socket.SOCK_DGRAM,
    socket.IPPROTO_UDP
)


addr = ('',10080)
# 绑定IP地址和端口号，空白的本地地址表示此Socket对象在本机的所有地址上接收数据
sv.bind(addr)

# 接收数据
while True:
    print('等待接收数据...')
    # 接收数据
    data,cl_addr = sv.recvfrom(1024)
    # 打印接收数据
    if not data:
        print("客户端已关闭")
        break
    msg = data.decode()
    print(f'{cl_addr[0]} : {cl_addr[1]} 的消息：\n {msg} \n')
    sv.close()